package com.bookcloud.java21.chapter7.throws语句74;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

/**
 * throws抛出异常 ： 1. 方法声明中使用throws关键字抛出异常，受检异常Exception 2. 异常类必须是Throwable的子类或其子类的实例 3.
 * 抛出异常后，程序立即终止，后面的代码不再执行
 */
public class ThrowsExample {
  // 定义一个读取文件的方法
  public static void readFile()
      throws IllegalAccessException, FileNotFoundException, NullPointerException {
    // 一、抛出异常对象，以IOException为例
    try {
      // 文件读取
      FileInputStream fis = new FileInputStream("a.txt");
    } catch (Exception e) {
      // 抛出异常
      throw new FileNotFoundException("文件不存在，请检查文件路径");
    }
    System.out.println("程序继续执行");
  }

  public static void main(String[] args) {
    // 调用读取文件的方法
    try {
      readFile();
    } catch (FileNotFoundException | IllegalAccessException e) {
      System.out.println(e.getMessage());
    }
  }
}
